home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 February / Gamestar_81_2006-02_dvd.iso / Red Shark / Missions / Mission_13 / MissionTasks.script < prev    next >
Text File  |  2001-11-13  |  5KB  |  179 lines

  1. //-------------------------------------------------------------------
  2. //
  3. //  This code is copyright 2001 by G5 Software.
  4. //  Any unauthorized usage, either in part or in whole of this code
  5. //  is strictly prohibited. Violators WILL be prosecuted to the
  6. //  maximum extent allowed by law.
  7. //
  8. //-------------------------------------------------------------------
  9.  
  10. ///////////////////////////////////
  11. //
  12. // Mission 13 -- Support Aerial Attack
  13. //
  14. ///////////////////////////////////
  15.  
  16. class CMission13_AIController extends CBaseAIController, CSupportAerialAttackMission_Strings, CMissionMessageColors
  17. {
  18.   array  ActivatePointCenterList = array(
  19.     vector( 6622, 4148, 0 )     // Soviet Katusha Point of Fire
  20.     );    //
  21.   array  ActivatePointRadiusList = array(
  22.     100.0                       //
  23.     );
  24.   array  ActivatePointNameList = array(
  25.     "A"
  26.     );
  27.   int m_StartTime         = 0;
  28.   int m_ShowTimeToScreen  = 0;
  29.   int m_StartMissionTime  = 10000;
  30.   int m_EndTobruqTime     = 200000;
  31.   int m_EndAlAqaliaTime   = 410000;
  32.  
  33.   boolean m_TobruqOnTimer = true;
  34.   boolean m_StartTobruq = false;
  35.   boolean m_AlAqaliaOnTimer = true;
  36.  
  37.   void Objective1_Complete()
  38.    {
  39.      m_TobruqOnTimer = false;
  40.    }
  41.   void Objective2_Complete()
  42.    {
  43.      m_AlAqaliaOnTimer = false;
  44.      Core_SendEventTo( "Helicopter",
  45.               "OnDisplayMessage",
  46.               str_BeforeAlAqaliaComplete,
  47.               m_GoodNewsColor);
  48.    }
  49.   void Init( int _Time )
  50.   {
  51.       m_StartTime  = _Time;
  52.   }
  53.   void Update( int _Time )
  54.   {
  55.     if ( ((_Time - m_StartTime) >= m_StartMissionTime) && (!m_StartTobruq) )
  56.        {
  57.           m_StartTobruq = true;
  58.           m_StartTime = _Time;
  59.        }
  60.     if ( m_TobruqOnTimer && m_StartTobruq )
  61.        {
  62.          m_ShowTimeToScreen = m_EndTobruqTime-(_Time - m_StartTime);
  63.        }
  64.     if ( !m_TobruqOnTimer && m_AlAqaliaOnTimer)
  65.        {
  66.          m_ShowTimeToScreen = m_EndAlAqaliaTime-(_Time - m_StartTime);
  67.        }
  68.     if ( m_TobruqOnTimer && m_StartTobruq )
  69.      {
  70.         Core_SendEventTo( "Helicopter",
  71.           "OnDisplayMessage",
  72.           str_BeforeTobruqBombing + (m_ShowTimeToScreen/1000) + str_Sec,
  73.           m_ReminderColor);
  74.       if ( _Time >= (m_StartTime + m_EndTobruqTime) )
  75.       {
  76.         m_TobruqOnTimer = false;
  77.         Core_BroadcastEvent("OnTobruqTumeUp");
  78.       }
  79.      }
  80.     if ( m_AlAqaliaOnTimer && !m_TobruqOnTimer)
  81.      {
  82.        //Core_LogMessage("Al-Aqaliaa boolean variables: m_AlAqaliaOnTimer = "+m_AlAqaliaOnTimer+" m_TobruqOnTimer = "+m_TobruqOnTimer);
  83.        //Core_LogMessage("And _Time = "+_Time+" StartTime( "+m_StartTime+" ) + m_EndTobruqTime( "+m_EndTobruqTime+" ) = "+(m_StartTime + m_EndTobruqTime));
  84.        if ( _Time >= (m_StartTime + m_EndTobruqTime + 2) )
  85.         {
  86.            Core_SendEventTo( "Helicopter",
  87.               "OnDisplayMessage",
  88.               str_BeforeAlAqaliaBombing + m_ShowTimeToScreen/1000 + str_Sec,
  89.               m_ReminderColor);
  90.         }
  91.        if ( _Time >= (m_StartTime + m_EndAlAqaliaTime) )
  92.         {
  93.          m_AlAqaliaOnTimer = false;
  94.          Core_BroadcastEvent("OnAlAqaliaTumeUp");
  95.         }
  96.      }
  97.   }
  98. //  void OnObjectEnterArea( int _AreaIndex, string _NavPointName, string _ObjectID)
  99. //  {
  100. //    if ( _AreaIndex == 0
  101. //      && Core_IsStringStartsWith( _ObjectID, "12_SovietTank"))
  102. //    {
  103. //      Core_BroadcastEvent("OnSovietOffensiveStop");
  104. //    }
  105. //  }
  106. }
  107. //====================================================================================================
  108. class C13_Refueller extends CBaseAITask_Patrol
  109. {
  110.   int m_StartTime;
  111.   boolean m_ActivateOnTimer = true;
  112.  
  113.   void Init()
  114.   {
  115.     DeactivatePatrol();
  116.     m_StartTime = GetGameTime();
  117.   }
  118.  
  119.   void OnUpdate()
  120.   {
  121.     if ( m_ActivateOnTimer )
  122.     {
  123.       if ( GetGameTime() >= m_StartTime + 1)
  124.       {
  125.         m_ActivateOnTimer = false;
  126.         ActivatePatrol();
  127.       }
  128.     }
  129.   }
  130.  
  131.   array GetPatrolTrip()
  132.   {
  133.     return array(
  134.       vector( 8980, 6875, 0),
  135.       vector( 5350, 3605, 0));
  136.   }
  137.  
  138.   float GetTripSpeed()
  139.   {
  140.     return 28;
  141.   }
  142.  
  143.   void OnEnemyTargeted() {} // do not attack
  144. }
  145. //----------------------------------------------------------------------
  146. class C13_Tobruq_Patrol extends C13_Refueller
  147. {
  148.   array GetPatrolTrip()
  149.   {
  150.     return array(
  151.       vector( 9511, 6879, 0),
  152.       vector( 9512, 6412, 0),
  153.       vector( 8972, 6405, 0),
  154.       vector( 8979, 6884, 0));
  155.   }
  156.   float GetTripSpeed()
  157.   {
  158.     return 22;
  159.   }
  160. }
  161. //------------------------------------------------------------------------
  162. class C13_Al_Mobile extends C13_Refueller
  163. {
  164.   array GetPatrolTrip()
  165.   {
  166.     return array(
  167.       vector( 5597, 3390, 0),
  168.       vector( 5136, 3386, 0),
  169.       vector( 5128, 3595, 0),
  170.       vector( 5599, 3595, 0));
  171.   }
  172.   float GetTripSpeed()
  173.   {
  174.     return 23;
  175.   }
  176. }
  177.  
  178.  
  179.